<template>
  <div id="line" class="mymap"></div>
</template>

<script>
export default {
  data() {
    return {
      // 销售额统计数据和配置
      linedata: {
        year: [
          [24, 40, 101, 134, 90, 230, 210, 230, 120, 230, 210, 120],
          [40, 64, 191, 324, 290, 330, 310, 213, 180, 200, 180, 79]
        ],
        quarter: [
          [23, 75, 12, 97, 21, 67, 98, 21, 43, 64, 76, 38],
          [43, 31, 65, 23, 78, 21, 82, 64, 43, 60, 19, 34]
        ],
        month: [
          [34, 87, 32, 76, 98, 12, 32, 87, 39, 36, 29, 36],
          [56, 43, 98, 21, 56, 87, 43, 12, 43, 54, 12, 98]
        ],
        week: [
          [43, 73, 62, 54, 91, 54, 84, 43, 86, 43, 54, 53],
          [32, 54, 34, 87, 32, 45, 62, 68, 93, 54, 54, 24]
        ]
      }
    }
  },
  props: {
    // year/quarter/month/week
    mylinedate: String
  },
  methods: {
    line() {
      const option = {
        title: {
          text: ''
        },
        color: ['#00f2f1', '#ed3f35'],
        tooltip: {
          trigger: 'axis'
        },
        legend: {
          // 距离容器10%
          right: '10%',
          // 修饰图例文字的颜色
          textStyle: {
            color: '#4c9bfd'
          }
          // 如果series 里面设置了name，此时图例组件的data可以省略
          // data: ["邮件营销", "联盟广告"]
        },
        grid: {
          top: '20%',
          left: '3%',
          right: '4%',
          bottom: '3%',
          show: true,
          borderColor: '#012f4a',
          containLabel: true
        },
        xAxis: {
          type: 'category',
          boundaryGap: false,
          data: [
            '1月',
            '2月',
            '3月',
            '4月',
            '5月',
            '6月',
            '7月',
            '8月',
            '9月',
            '10月',
            '11月',
            '12月'
          ],
          // 去除刻度
          axisTick: {
            show: false
          },
          // 修饰刻度标签的颜色
          axisLabel: {
            color: '#4c9bfd'
          },
          // 去除x坐标轴的颜色
          axisLine: {
            show: false
          }
        },
        yAxis: {
          type: 'value',
          // 去除刻度
          axisTick: {
            show: false
          },
          // 修饰刻度标签的颜色
          axisLabel: {
            color: '#4c9bfd'
          },
          // 修改y轴分割线的颜色
          splitLine: {
            lineStyle: {
              color: '#012f4a'
            }
          }
        },
        series: [
          {
            name: '预期销售额',
            type: 'line',
            stack: '总量',
            // 是否让线条圆滑显示
            smooth: true,
            data: this.linedata[this.mylinedate][0]
          },
          {
            name: '实际销售额',
            type: 'line',
            stack: '总量',
            smooth: true,
            data: this.linedata[this.mylinedate][1]
          }
        ]
      }
      const myChart = this.$echarts.init(document.getElementById('line'))
      myChart.setOption(option)
    }
  },
  mounted() {
    // 使用 mounted 并不能保证钩子函数中的 this.$el 在 document 中
    this.$nextTick(function () {
      this.line()
    })
  },
  watch: {
    // 监听数据改变触发方法更新
    mylinedate(val) {
      this.line()
    }
  }
}
</script>

<style lang="less" scoped>
</style>
